package com.travel.server.manager.api;

import com.travel.server.manager.dto.request.PageRequest;
import com.travel.server.manager.dto.request.project.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author: LiZhenhui
 * @Date: 2018/10/18 15:26
 * @Desc:
 */
public interface IProjectService {

    /**
     * 查询项目列表
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_list", method = RequestMethod.POST)
    Object queryProjectList(QueryProjectListRequest request);

    /**
     * 查询项目分组
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_group", method = RequestMethod.POST)
    Object queryProjectGroup(PageRequest request);

    /**
     * 添加项目分组
     * @param request
     * @return
     */
    @RequestMapping(value = "add_project_group", method = RequestMethod.POST)
    Object addProjectGroup(AddProjectGroupRequest request);

    /**
     * 编辑项目分组
     * @param request
     * @return
     */
    @RequestMapping(value = "update_project_group", method = RequestMethod.POST)
    Object updateProjectGroup(UpdateProjectGroupRequest request);

    /**
     * 删除项目分组
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_project_group", method = RequestMethod.POST)
    Object deleteProjectGroup(DeleteProjectGroupRequest request);

    /**
     * 查询项目基本信息
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_base_info", method = RequestMethod.POST)
    Object queryProjectBaseInfo(QueryProjectBaseInfoRequest request);

    /**
     * 修改项目分组/状态
     * @param request
     * @return
     */
    @RequestMapping(value = "update_project", method = RequestMethod.POST)
    Object updateProject(UpdateProjectRequest request);

    /**
     * 查询分组枚举
     * @param request
     * @return
     */
    @RequestMapping(value = "query_group_enum", method = RequestMethod.POST)
    Object queryGroupEnum(QueryGroupEnumRequest request);

    /**
     * 修改项目基本信息
     * @param request
     * @return
     */
    @RequestMapping(value = "update_project_base_info", method = RequestMethod.POST)
    Object updateProjectBaseInfo(UpdateProjectBaseInfoRequest request);

    /**
     * 查询项目详情
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_detail_info", method = RequestMethod.POST)
    Object queryProjectDetailInfo(QueryProjectDetailInfoRequest request);

    /**
     * 修改项目详情
     * @param request
     * @return
     */
    @RequestMapping(value = "update_project_detail_info", method = RequestMethod.POST)
    Object updateProjectDetailInfo(UpdateProjectDetailInfoRequest request);

    /**
     * 查询项目其他信息
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_other_info", method = RequestMethod.POST)
    Object queryProjectOtherInfo(QueryProjectOtherInfoRequest request);

    /**
     * 修改项目其他信息
     * @param request
     * @return
     */
    @RequestMapping(value = "update_project_other_info", method = RequestMethod.POST)
    Object updateProjectOtherInfo(UpdateProjectOtherInfoRequest request);

    /**
     * 删除项目
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_project", method = RequestMethod.POST)
    Object deleteProject(DeleteProjectRequest request);

    /**
     * 查询项目枚举（订单转接）
     * @param request
     * @return
     */
    @RequestMapping(value = "query_project_enum", method = RequestMethod.POST)
    Object queryProjectEnum(QueryProjectEnumRequest request);
}
